package com.groupbuying.orderconsumer.domain;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;


/**
 * 商品主订单表
 *
 * @author vincentxin
 * @email vincentxin@aliyun.com
 * @date 2019-09-20 15:12:15
 * @des
 */
public class CommodityOrderMainDO implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 订单编号
     */
    private String id;

    /**
     * 删除标记:未删除-UNDEL-1,删除-DEL-0
     */
    private String isDelete;

    /**
     * 创建时间
     */
    private Date gmtCreate;

    /**
     * 更新时间
     */
    private Date gmtModify;

    /**
     * 用户id
     */
    private String customerId;

    /**
     * 商品总价
     */
    private BigDecimal totalPrice;

    /**
     * 优惠金额
     */
    private BigDecimal discountPrice;

    /**
     * 物流金额
     */
    private BigDecimal logisticsPrice;

    /**
     * 最终金额
     */
    private BigDecimal presentPrice;

    /**
     * 实付金额
     */
    private BigDecimal payAmount;

    /**
     * 付款时间
     */
    private Date paymentTime;

    /**
     * 发货时间
     */
    private Date deliveryTime;

    /**
     * 收货时间
     */
    private Date receiverTime;

    /**
     * 成交时间
     */
    private Date closingTime;

    /**
     * 是否退换货
     */
    private Integer hasReturnExchange;

    /**
     * 备注
     */
    private String remark;

    /**
     * 状态(如果有多个商品分开发货需要全部商品发完才会改变状态):待付款-UNPAY-0, 待发货-WAIT_FOR_DELIVERY-1,已发货-DELIVERY-2,待收货-WAIT_FOR_RECEIVING-3,已完成-FINISHED-4,已关闭-CLOSED-5
     */
    private Integer orderState;

    /**
     * 设置：订单编号
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * 获取：订单编号
     */
    public String getId() {
        return id;
    }

    /**
     * 设置：删除标记:未删除-UNDEL-1,删除-DEL-0
     * @param isDelete
     */
    public void setIsDelete(String isDelete) {
        this.isDelete = isDelete;
    }

    /**
     * 获取：删除标记:未删除-UNDEL-1,删除-DEL-0
     */
    public String getIsDelete() {
        return isDelete;
    }

    /**
     * 设置：创建时间
     */
    public void setGmtCreate(Date gmtCreate) {
        this.gmtCreate = gmtCreate;
    }

    /**
     * 获取：创建时间
     */
    public Date getGmtCreate() {
        return gmtCreate;
    }

    /**
     * 设置：更新时间
     */
    public void setGmtModify(Date gmtModify) {
        this.gmtModify = gmtModify;
    }

    /**
     * 获取：更新时间
     */
    public Date getGmtModify() {
        return gmtModify;
    }

    /**
     * 设置：用户id
     */
    public void setCustomerId(String customerId) {
        this.customerId = customerId;
    }

    /**
     * 获取：用户id
     */
    public String getCustomerId() {
        return customerId;
    }

    /**
     * 设置：商品总价
     * @param totalPrice
     */
    public void setTotalPrice(BigDecimal totalPrice) {
        this.totalPrice = totalPrice;
    }

    /**
     * 获取：商品总价
     */
    public BigDecimal getTotalPrice() {
        return totalPrice;
    }

    /**
     * 设置：优惠金额
     * @param discountPrice
     */
    public void setDiscountPrice(BigDecimal discountPrice) {
        this.discountPrice = discountPrice;
    }

    /**
     * 获取：优惠金额
     */
    public BigDecimal getDiscountPrice() {
        return discountPrice;
    }

    /**
     * 设置：物流金额
     * @param logisticsPrice
     */
    public void setLogisticsPrice(BigDecimal logisticsPrice) {
        this.logisticsPrice = logisticsPrice;
    }

    /**
     * 获取：物流金额
     */
    public BigDecimal getLogisticsPrice() {
        return logisticsPrice;
    }

    /**
     * 设置：最终金额
     * @param presentPrice
     */
    public void setPresentPrice(BigDecimal presentPrice) {
        this.presentPrice = presentPrice;
    }

    /**
     * 获取：最终金额
     */
    public BigDecimal getPresentPrice() {
        return presentPrice;
    }

    /**
     * 设置：实付金额
     * @param payAmount
     */
    public void setPayAmount(BigDecimal payAmount) {
        this.payAmount = payAmount;
    }

    /**
     * 获取：实付金额
     */
    public BigDecimal getPayAmount() {
        return payAmount;
    }

    /**
     * 设置：付款时间
     */
    public void setPaymentTime(Date paymentTime) {
        this.paymentTime = paymentTime;
    }

    /**
     * 获取：付款时间
     */
    public Date getPaymentTime() {
        return paymentTime;
    }

    /**
     * 设置：发货时间
     */
    public void setDeliveryTime(Date deliveryTime) {
        this.deliveryTime = deliveryTime;
    }

    /**
     * 获取：发货时间
     */
    public Date getDeliveryTime() {
        return deliveryTime;
    }

    /**
     * 设置：收货时间
     */
    public void setReceiverTime(Date receiverTime) {
        this.receiverTime = receiverTime;
    }

    /**
     * 获取：收货时间
     */
    public Date getReceiverTime() {
        return receiverTime;
    }

    /**
     * 设置：成交时间
     */
    public void setClosingTime(Date closingTime) {
        this.closingTime = closingTime;
    }

    /**
     * 获取：成交时间
     */
    public Date getClosingTime() {
        return closingTime;
    }

    /**
     * 设置：是否退换货
     * @param hasReturnExchange
     */
    public void setHasReturnExchange(Integer hasReturnExchange) {
        this.hasReturnExchange = hasReturnExchange;
    }

    /**
     * 获取：是否退换货
     */
    public Integer getHasReturnExchange() {
        return hasReturnExchange;
    }

    /**
     * 设置：备注
     */
    public void setRemark(String remark) {
        this.remark = remark;
    }

    /**
     * 获取：备注
     */
    public String getRemark() {
        return remark;
    }

    /**
     * 设置：状态(如果有多个商品分开发货需要全部商品发完才会改变状态):待付款-UNPAY-0, 待发货-WAIT_FOR_DELIVERY-1,已发货-DELIVERY-2,待收货-WAIT_FOR_RECEIVING-3,已完成-FINISHED-4,已关闭-CLOSED-5
     * @param orderState
     */
    public void setOrderState(Integer orderState) {
        this.orderState = orderState;
    }

    /**
     * 获取：状态(如果有多个商品分开发货需要全部商品发完才会改变状态):待付款-UNPAY-0, 待发货-WAIT_FOR_DELIVERY-1,已发货-DELIVERY-2,待收货-WAIT_FOR_RECEIVING-3,已完成-FINISHED-4,已关闭-CLOSED-5
     */
    public Integer getOrderState() {
        return orderState;
    }

    @Override
    public String toString() {
        return "CommodityOrderMainDO{" +
                "id=" + id +
                ",isDelete=" + isDelete +
                ",gmtCreate=" + gmtCreate +
                ",gmtModify=" + gmtModify +
                ",customerId=" + customerId +
                ",totalPrice=" + totalPrice +
                ",discountPrice=" + discountPrice +
                ",logisticsPrice=" + logisticsPrice +
                ",presentPrice=" + presentPrice +
                ",payAmount=" + payAmount +
                ",paymentTime=" + paymentTime +
                ",deliveryTime=" + deliveryTime +
                ",receiverTime=" + receiverTime +
                ",closingTime=" + closingTime +
                ",hasReturnExchange=" + hasReturnExchange +
                ",remark=" + remark +
                ",orderState=" + orderState +
                "}";
    }
}
